// 变量
@primary-color: #409eff;
@success-color: #67c23a;
@warning-color: #e6a23c;
@danger-color: #f56c6c;
@info-color: #909399;

@font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
@base-font-size: 14px;

// 全局样式重置
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  height: 100%;
  width: 100%;
  font-family: @font-family;
  font-size: @base-font-size;
  color: #333;
  background-color: #f5f7fa;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#app {
  height: 100%;
  width: 100%;
}

// 常用辅助类
.text-primary { color: @primary-color; }
.text-success { color: @success-color; }
.text-warning { color: @warning-color; }
.text-danger { color: @danger-color; }
.text-info { color: @info-color; }

.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }

.float-left { float: left; }
.float-right { float: right; }
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.ml-10 { margin-left: 10px; }
.mr-10 { margin-right: 10px; }
.mt-10 { margin-top: 10px; }
.mb-10 { margin-bottom: 10px; }

.p-10 { padding: 10px; }
.p-20 { padding: 20px; }

.flex { display: flex; }
.flex-column { flex-direction: column; }
.flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
}
.flex-between {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.flex-around {
  display: flex;
  justify-content: space-around;
  align-items: center;
}
.flex-1 { flex: 1; }

// 响应式断点
@media (max-width: 768px) {
  .hidden-sm {
    display: none !important;
  }
} 